home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / qb2 / pro16 / tabtest.bas < prev    next >
Encoding:
BASIC Source File  |  1992-01-06  |  2.0 KB  |  100 lines

  1. ' TabTest.Bas - Program to demonstrate tab expansion and
  2. '        compression using both ifxed-interval tabs
  3. '               and irregular-interval tabs. 
  4.  
  5. ' $INCLUDE: 'TABMAN.BI'
  6.  
  7. DECLARE SUB DisplayTabBar ()
  8. DECLARE SUB ShowTheTabs (aTabStr$)
  9.  
  10.  
  11. CLS
  12. PRINT "TabTest - test expansion/compression"
  13. PRINT
  14.  
  15. ' Set up a couple of test strings.
  16.  
  17. FOR aTab% = 1 TO 8
  18.    TestString1$ = TestString1$ + "*" + CHR$(9)
  19. NEXT aTab%
  20. TestString1$ = TestString1$ + "*"
  21.  
  22. TestString2$ = "      1       2       3       4  "
  23. TestString2$ = TestString2$ + "          5           6       7"
  24.  
  25.  
  26. ' Run the whole program twice - once for each type of tab.
  27.  
  28. FOR Style% = 1 TO 2
  29.    InitTabManager (Style%)
  30.  
  31.    IF Style% = 1 THEN
  32.      SetTab 4
  33.    ELSE
  34.      SetTab 51: SetTab 46: SetTab 21: SetTab 9
  35.      SetTab 36: SetTab 31: SetTab 17: SetTab 5
  36.    END IF
  37.  
  38.    DeTab TestString1$, NoTabs$
  39.  
  40.    PRINT "Here is string '";
  41.    ShowTheTabs TestString1$
  42.    PRINT "' detabbed."
  43.  
  44.    DisplayTabBar
  45.    PRINT NoTabs$
  46.  
  47.    PRINT : PRINT "Here is the string to entab:"
  48.    PRINT TestString2$
  49.    DisplayTabBar
  50.  
  51.    EnTab TestString2$, HasTabs$
  52.  
  53.    PRINT "Here is the resulting string:"
  54.    ShowTheTabs HasTabs$
  55.  
  56.    IF Style% = 2 THEN
  57.      PRINT : PRINT
  58.      PRINT "The same entabbed string, but after removing tabstop #21"
  59.      ClrTab 21
  60.  
  61.      EnTab TestString2$, HasTabs$
  62.      DisplayTabBar
  63.      ShowTheTabs HasTabs$
  64.  
  65.      PRINT
  66.    END IF
  67. NEXT Style%
  68. END
  69.  
  70.  
  71. SUB DisplayTabBar
  72. ' DisplayTabBar -     Subprogram to display a bar showing
  73. '            the current tab settings.
  74.  
  75. FOR I% = 1 TO 80
  76.    IF IsTab%(I%) THEN
  77.      PRINT "T";
  78.    ELSE
  79.      PRINT "-";
  80.    END IF
  81. NEXT I%
  82.  
  83. END SUB
  84.  
  85.  
  86. SUB ShowTheTabs (aTabStr$)
  87. ' ShowTheTabs -     Subprogram to display an entabbed string
  88. '            using the C language convention of showing
  89. '            the tab character as "\t".
  90.  
  91. FOR I% = 1 TO LEN(aTabStr$)
  92.   IF MID$(aTabStr$, I%, 1) = CHR$(9) THEN
  93.     PRINT "\t";
  94.   ELSE
  95.     PRINT MID$(aTabStr$, I%, 1);
  96.   END IF
  97. NEXT I%
  98.  
  99. END SUB
  100.